import store from "@/store/index.js"
import global from "@/utils/global.js"
const onConnect = function(res) {
	store.commit('set_chat_status',true)
	console.log('NIM连接成功------------------------------------------------------ ');
}
const onWillReconnect = function(obj) {
	// 此时说明 SDK 已经断开连接, 请开发者在界面上提示用户连接已断开, 而且正在重新建立连接
	console.log('即将重连');
}
const onDisconnect = function(error) {
	// 此时说明 SDK 处于断开状态, 开发者此时应该根据错误码提示相应的错误信息, 并且跳转到登录页面
	console.log('丢失连接',error);
	if (error) {
		switch (error.code) {
			// 账号或者密码错误, 请跳转到登录页面并提示错误
			case 302:
				console.warn('账号或者密码错误')
				break;
				// 重复登录, 已经在其它端登录了, 请跳转到登录页面并提示错误
			case 417:
				console.warn('重复登录, 已经在其它端登录了')
				break;
				// 被踢, 请提示错误后跳转到登录页面
			case 'kicked':
				console.warn('被踢')
				break;
			default:
				console.warn('未知错误')
				break;
		}
	}
}
const onError = function(error) {
	console.log(error);
}
const postChatRecord = async function(data) {
	console.log('参数');
}
/* 收到消息处理 */
const messageReceive = function(res) {
	// console.log(JSON.stringify(res), '收到了消息需要操作',111111111)
}
const onroamingmsgs = function(res) {
	 // console.log('收到漫游消息', JSON.stringify(res),222222222222);
}
const onofflinemsgs = function(res) {
	 // console.log('收到离线消息', JSON.stringify(res),333333333333);
}

const onsessions = function(res) {
  console.log('收到会话列表', JSON.stringify(res),555555555555555555);
  var list = store.state.chat_state.mergeSessions(store.state.chat_list,res);
  store.commit('set_chat_list',list)
}

const onusers = function(users) {
  console.log('收到用户资料列表', users);
}

const onfriends = function(users) {
 console.log('收到好友列表', users);
}

const onupdatesession = function (res) {
	console.log(res,'onupdatesession')
	var list = store.state.chat_state.mergeSessions(store.state.chat_list,res);
	store.commit('set_chat_list',list)
	
}
const onmsg = function (msg) {
	console.log(msg,'msg')
	if(store.state.chat_to && store.state.chat_to.id == msg.from){
		if(msg.type == 'custom' && typeof(msg.content)== "string"){
			msg.content = JSON.parse(JSON.stringify(JSON.parse(msg.content)))
		}
		store.commit('set_chat_info',[...store.state.chat_info,msg])
	}
	global.$onTip(msg)
}
// function onCustomMsg(msg) {
// 	// console.log('处理自定义消息')
//     // 处理自定义消息
// }
export default {
	debug: false, 
	appKey: '4c4179f5faefb9c89642f50f9312e8c8', 
	db:false, //若不要开启数据库请设置false。SDK默认为true。
	// privateConf: {}, // 私有化部署方案所需的配置
	onconnect: onConnect,
	onwillreconnect: onWillReconnect,
	ondisconnect: onDisconnect,
	onerror: onError,
	onroamingmsgs,
	onofflinemsgs,
	onmsg,
	onsessions,
	onupdatesession,
	onusers,
	onfriends
}